﻿#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

class Maker {
public:
	Maker() {
		// a = 20;
	}
	// 静态成员函数 
	static void setA(int a) {
		Maker::a = a;
	}
public:
	// 2. 静态成员变量的生命周期是整个程序，作用域在类内
	static int a;
	// const修饰的静态成员变量尽量在类内进行初始化，但也可以在类外初始化 
	const static int b = 300; // 类内初始化 
	const static int c;
};
// 注意，静态成员变量必须在类内声明，类外初始化 
int Maker::a = 100; 
const int Maker::c = 500;  // 类外初始化 

void test01() {
	Maker m;
	cout << Maker::a << endl;
	cout << m.a << endl;
}

void test02() {
	Maker::setA(200);
	cout << Maker::a << endl;
	cout << Maker::b << endl;
	cout << Maker::c << endl;
}

int main()
{

	// test01(); 
	test02(); 

	system("pause");
	return EXIT_SUCCESS;
}